"BeachBall (fat)" is an update to the BeachBall snippet/library released in 1993 by Peter Vanags. This code provides easy implementation of a spinning beachball animated cursor (or spinning watch, or spinning globe, or hopping kangaroo, or whatever you have the 'CURS' resources for). The spinning can be performed asynchronously or synchronously. With the asynchronous method the spinning is maintained transparently by a VBL task; with synchronous spinning you maintain the spinning "manually".
My update of Vanags' code allows PPC compiling as well as 68K, and updates the code for the latest version of the Universal Headers that I have. (Which, as of this writing, is not the latest version in circulation, but any changes needed should be minor.) I made a few other changes, which are listed in BeachBall.c
Instructions for the use of BeachBall are also in BeachBall.c, so I won't repeat them here. I will, however preemptively answer one question:
Q: What about color animated cursors?
A: This can't be done with BeachBall's asynchronous method of maintaining the spinning. According to Apple Technote #1011, "SetCCursor can possibly move memory"; something you do NOT want to have happen in an interrupt routine such as BeachBall uses. In other words, the only safe way to do a color animated cursor is to periodically call a "KeepDatThangSpinnin()" routine each time you want the cursor "frame" to change, for as long as you want the cursor to spin. BeachBall is much more convenient than this, but it's for black & white cursors only.
This code has not been extensively tested, so caveat emptor.